package modelo.juego;

import java.io.*;

import modelo.auto.*;
import modelo.excepciones.*;

public class Usuario implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
		// Propiedades
		private String nombre;
		private double dinero;
		private int puntos;
		private Auto auto;
		
		
		// Metodos
		
		/**
		 * Constructor
		 */
		public Usuario(String nombre, double dinero, int puntos, Auto auto) {
			this.nombre = nombre;
			this.dinero = dinero;
			this.puntos = puntos;
			this.auto = auto;
		}
		
		public String getNombre() {
			return this.nombre;
		}
		
		public void setNombre(String nombreUsuario){
			this.nombre = nombreUsuario;
		}
		
		public double getDinero() {
			return this.dinero;
		}
		
		public void setDinero(double dinero){
			this.dinero = dinero;
		}
		
		public int getPuntos() {
			return this.puntos;
		}
		
		/**
		 * @param puntos
		 * @throws InvalidPointValueException si se intenta poner puntos negativos
		 */		
		public void setPuntos(int puntos)throws InvalidPointValueException{
			if (puntos>0){
				this.puntos = puntos;
			}
			else
				throw new InvalidPointValueException();
		}
		
		public modelo.auto.Auto getAuto() {
			return this.auto;
		}
		
		public void setAuto(modelo.auto.Auto auto){
			this.auto = auto;
		}
		
		
}
